package com.top10.bean.wxpay;


import com.thoughtworks.xstream.annotations.XStreamAlias;


/**
 * Created by zwp
 * 2018-04-30 13:42
 */

@XStreamAlias("xml")

public class WxPayUnifiedorderRequest {
    //应用ID 必填
    private String appid;
    //商户号 必填
    @XStreamAlias("mch_id")
    private String mchId;
    //设备号
    @XStreamAlias("device_info")
    private String deviceInfo;
    //随机字符串 必填
    @XStreamAlias("nonce_str")
    private String nonceStr;
    //签名 必填
    private String sign;
    //签名类型
    private String sign_type;

    //商品描述 必填
    private String body;
    //商品详情
    private String detail;
    //附加数据
    private String attach;
    //商户订单号 必填
    @XStreamAlias("out_trade_no")
    private String outTradeNo;

    //标价币种
    @XStreamAlias("fee_type")
    private String feeType;
    //标价金额 必填
    @XStreamAlias("total_fee")
    private Integer totalFee;
    //终端IP 必填
    @XStreamAlias("spbill_create_ip")
    private String spbillCreateIp;

    //交易起始时间
    @XStreamAlias("time_start")
    private String timeStart;
    //交易结束时间
    @XStreamAlias("time_expire")
    private String timeExpire;

    //订单优惠标记
    @XStreamAlias("goods_tag")
    private String goodsTag;

    //通知地址      必填
    @XStreamAlias("notify_url")
    private String notifyUrl;

    //交易类型  必填
    @XStreamAlias("trade_type")
    private String tradeType;

    //商品ID
    @XStreamAlias("product_id")
    private String productId;

    //指定支付方式
    @XStreamAlias("limit_pay")
    private String limitPay;

    //用户标识
    private String openid;

    //场景信息
    @XStreamAlias("scene_info")
    private String sceneInfo;



    public String getAppid() {
        return appid;
    }

    /**
     * 应用ID
     * 必填: 是
     * @param appid
     */

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getMchId() {
        return mchId;
    }

    /**
     * 商户号
     *  必填: 是
     * @param mchId
     */

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }


    public String getDeviceInfo() {
        return deviceInfo;
    }

    /**
     * 设备号
     * 必填: 否
     * @param deviceInfo
     */

    public void setDeviceInfo(String deviceInfo) {
        this.deviceInfo = deviceInfo;
    }

    public String getNonceStr() {
        return nonceStr;
    }

    /**
     * 随机字符串
     * 必填: 是
     * @param nonceStr
     */

    public void setNonceStr(String nonceStr) {
        this.nonceStr = nonceStr;
    }

    public String getSign() {
        return sign;
    }

    /**
     * 签名
     * 必填: 是
     * @param sign
     */

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getAttach() {
        return attach;
    }

    /**
     * 附加数据
     * 必填: 否
     * @param attach
     */

    public void setAttach(String attach) {
        this.attach = attach;
    }

    public String getBody() {
        return body;
    }

    /**
     * 商品描述
     * 必填: 是
     * @param body
     */

    public void setBody(String body) {
        this.body = body;
    }

    public String getDetail() {
        return detail;
    }


    /**
     * 商品详情
     * 必填: 否
     * @param detail
     */

    public void setDetail(String detail) {
        this.detail = detail;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    /**
     * 商户订单号
     * 必填: 是
     * @param outTradeNo
     */

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getSpbillCreateIp() {
        return spbillCreateIp;
    }

    public void setSpbillCreateIp(String spbillCreateIp) {
        this.spbillCreateIp = spbillCreateIp;
    }

    public Integer getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Integer totalFee) {
        this.totalFee = totalFee;
    }

    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public String getSign_type() {
        return sign_type;
    }

    public void setSign_type(String sign_type) {
        this.sign_type = sign_type;
    }

    public String getFeeType() {
        return feeType;
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }

    public String getTimeStart() {
        return timeStart;
    }

    public void setTimeStart(String timeStart) {
        this.timeStart = timeStart;
    }

    public String getTimeExpire() {
        return timeExpire;
    }

    public void setTimeExpire(String timeExpire) {
        this.timeExpire = timeExpire;
    }

    public String getGoodsTag() {
        return goodsTag;
    }

    public void setGoodsTag(String goodsTag) {
        this.goodsTag = goodsTag;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getLimitPay() {
        return limitPay;
    }

    public void setLimitPay(String limitPay) {
        this.limitPay = limitPay;
    }

    public String getSceneInfo() {
        return sceneInfo;
    }

    /**
     * 场景信息
     * 必填：是
     * 格式：{"h5_info": {"type":"Wap","wap_url": "https://pay.qq.com","wap_name": "腾讯充值"}}
     * @param sceneInfo
     */

    public void setSceneInfo(String sceneInfo) {
        this.sceneInfo = sceneInfo;
    }
}